/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.EcgEstudioCardiologiaFisica;
import hibernate.objeto.EcgEstudioCardiologia;

/**
 *
 * @author Gonzalo
 */
public class EcgEstudioCardiologiaLogica extends CapaLogica {

    /**
     * Crea y persiste el examen ECG del estudio de cardiología.
     *
     * @param datosEstudioCardiologia Los datos del estudio ECG
     * @param idEcgEstudioCardiologia  El id del objeto
     * creado para su posterior recuperación
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarEcgEstudioCardiologia(
            Object[] datosEstudioCardiologia, int[] idEcgEstudioCardiologia) {
        //Crea el objeto
        EcgEstudioCardiologia ecgEstudioCardiologia =
                crearObjetoEcgEstudioCardiologia(datosEstudioCardiologia);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(ecgEstudioCardiologia)) {
            idEcgEstudioCardiologia[0] = ecgEstudioCardiologia
                    .getIdEcgEstudioCardiologia();
            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto ECG.
     *
     * @param datosEstudioCardiologia Los datos del ECG
     * @return El objeto creado
     */
    private static EcgEstudioCardiologia crearObjetoEcgEstudioCardiologia(
            Object[] datosEstudioCardiologia) {

        EcgEstudioCardiologia ecgEstudioCardiologia =
                new EcgEstudioCardiologia();

        ecgEstudioCardiologia.setComentariosEcgEstudioCardiologia(
                datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_ECG_COMENTARIOS].toString());

        ecgEstudioCardiologia.setEjeEcgEstudioCardiologia((Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_ECG_EJE]);

        ecgEstudioCardiologia.setFcEcgEstudioCardiologia((Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_ECG_FC]);

        ecgEstudioCardiologia.setPrEcgEstudioCardiologia((Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_ECG_PR]);

        ecgEstudioCardiologia.setQrsEcgEstudioCardiologia((Integer)datosEstudioCardiologia[CapaLogica.
                ESTUDIO_CARDIOLOGIA_ECG_QRS]);

        return ecgEstudioCardiologia;
    }

    /**
     * Retorna el objeto EcgEstudioCardiologia según el id.
     *
     * @param idEcgEstudioCardiologia  El id de la
     * Ecg
     * @return El objeto EcgEstudioCardiologia consultado, null si no existe
     */
    public static EcgEstudioCardiologia getEcgEstudioCardiologiaPorId(
            int idEcgEstudioCardiologia) {
        return EcgEstudioCardiologiaFisica.getEcgEstudioCardiologiaPorId(
                idEcgEstudioCardiologia);
    }

}
